# Dockerfile for Spring Boot 3 Backend (Multi-stage build)

# --- STAGE 1: Build ---
FROM maven:3.9.6-eclipse-temurin-17 AS build

# 设置工作目录
WORKDIR /app
 # 先复制 pom.xml，利用缓存
COPY pom.xml .
# 添加这一行：复制 settings.xml 到 Maven 配置目录
COPY settings.xml /root/.m2/settings.xml
# 复制 pom.xml 和源代码
COPY pom.xml .
COPY src ./src

# 构建 JAR 文件（跳过测试以加速）
RUN mvn clean package -DskipTests

# --- STAGE 2: Run ---
FROM eclipse-temurin:17-jre-alpine

# 设置工作目录
WORKDIR /app

# 从构建阶段复制生成的 JAR 文件
COPY --from=build /app/target/*.jar app.jar

# 暴露 Spring Boot 默认端口
EXPOSE 8181

# 运行 JAR 文件
ENTRYPOINT ["java", "-jar", "app.jar"]
